#coding=utf-8
"""
Author:朱燕珍
Time:2025/9/4 11:04
"""
import openpyxl
from utiles.handle_path import *
import os

class Handle_Excel():
    '''封装读取Excel表格的工具类'''
    def __init__(self,filename,sheet_name):
        self.filename = filename
        self.sheet_name = sheet_name

    def open(self):
        '''封装一个打开Excel表格的工具方法'''
        self.wb = openpyxl.load_workbook(self.filename)
        self.sh = self.wb[self.sheet_name]

    def read_data(self):
        '''封装一个读取表格的工具方法'''
        self.open()
        # 获取表格中每一行数据放在一个元祖中
        datas = list(self.sh.rows) #把每一行的元祖数据放到列表中
        #列表解析式：
        title = [i.value for i in datas[0]] #第一行表头的数据
        cases = []  #创建一个空列表，用来接收所有测试用例
        for j in datas[1:]:
            values = [k.value for k in j ]
            # print(values)
            case = dict(zip(title,values))
            # print(case)
            cases.append(case)
        return cases

    def write_excel(self,row,col,value=None):
        self.open()
        self.sh.cell(row,col,value)
        self.wb.save(self.filename)

if __name__ == '__main__':
    path = os.path.join(data_path,'apicase.xlsx')
    read_excel = Handle_Excel(path,'login')
    value = read_excel.read_data()
    print(value)
    read_excel.write_excel(2,8,'通过')


